package com.xbao.service;

import com.xbao.core.component.page.Pagination;
import com.xbao.model.req.StuReq;
import com.xbao.model.vo.ClsVo;
import com.xbao.model.vo.OrgStuCountVo;
import com.xbao.model.vo.StuVo;
import com.xbao.model.vo.WaitDealStuTotalVo;

import java.io.InputStream;
import java.util.List;

/**
 * Created by qingshengzheng on 18/8/24.
 */
public interface StuService {
    public void addStu(StuReq stu);

    public void updateStu(StuReq stu);

    public void deleteStu(Long id);

    public StuVo detail(Long sid);

    public List<StuVo> stuOfCls(Long cid);

    public List<StuVo> queryStuView(StuReq stuReq);

    public List<StuVo> queryStu(StuReq stuReq);


    public List<StuVo> futureBirthdayStus(StuReq req
    );

    public List<StuVo> nocontractStus(StuReq req);

    public List<StuVo> remainPeriodRecordLt(StuReq req);

    public List<StuVo> endTimeLt(StuReq req);

    public List<StuVo> noPeriodRecordStus(StuReq req);


    public List<StuVo> waitAbsentDealStus(StuReq req);
    public List<StuVo> absendStus(StuReq req);


    public List<StuVo> noBindWxStus(StuReq req);

    public List<StuVo> absentDealStus(StuReq req);

    public Integer futureBirthdayStusCount(Long begintime, Long endtime,Long orgid);

    public Integer nocontractStusCount(Long begintime, Long endtime,Long orgid);

    public Integer remainPeriodRecordLtCount(Integer releaseTimes,Long orgid);

    public Integer endTimeLtCount(Long begintime, Long endtime,Long orgid);



    public Integer waitAbsentDealStusCount(Long begintime, Long endtime,Long orgid);

    public Integer absentDealStusCount(Long begintime, Long endtime,Long orgid);

    public Integer noBindWxStusCount(Long begintime, Long endtime,Long orgid);

    public Integer remainPeriodOfStu(Long sid,Long orgid);

    public Integer remainDayOfStu(Long sid,Long orgid);

    public OrgStuCountVo baseOrgStuCount(Long orgid);

    public WaitDealStuTotalVo waitDetailStusInfo(StuReq stuReq);

    public void uploadHead(InputStream inputStream);

}
